package db

import (
	"filestore/db/mysql"
	"fmt"
	"os"
)

// 通过用户名及密码完成user表的注册
func UserSignup(username string, password string) bool {
	stmt, err := mysql.DBConn().Prepare("INSERT ignore INTO tbl_user(`user_name`,`user_pwd`) VALUES (?,?)")

	if err != nil {
		fmt.Println("Failed to insert,err :" + err.Error())
		return false
	}
	defer stmt.Close()

	res, err := stmt.Exec(username, password)
	if err != nil {
		fmt.Println("Failed to insert,err :" + err.Error())
		return false
	}

	if rowsAffected, err := res.RowsAffected(); err == nil && rowsAffected > 0 {
		return true
	}
	return false

}

type User struct {
	user_pwd string
}

func UserSignin(username string, encpwd string) bool {
	stmt, err := mysql.DBConn().Prepare("SELECT * FROM tbl_user WHERE user_name =? LIMIT 1")
	if err != nil {
		fmt.Println(err.Error())
		return false
	}

	// rows, err := stmt.Query(username)
	// if err != nil {
	// 	fmt.Println(err.Error())
	// 	return false
	// } else if rows == nil {
	// 	fmt.Println("username not found:" + username)
	// 	return false
	// }

	// pRows := mysql.DBConn().ParseRows(rows)
	// if len(pRows) > 0 && string(pRows[0]["user_pwd"].([]byte)) == encpwd {
	// 	return true
	// }

	var password string

	err = stmt.QueryRow(username).Scan(&password)
	fmt.Println(username)
	fmt.Println(password)
	os.Exit(0)
	if err != nil && password == encpwd {
		return true
	}
	// fmt.Println("111")
	// fmt.Println(res)
	// os.Exit(0)
	return false
}

// 刷新用户登录的token
func UpdateToken(username string, token string) bool {
	stmt, err := mysql.DBConn().Prepare("replace into tab_user_token(`user_name`,`user_token`) values(?,?)")
	if err != nil {
		fmt.Println(err.Error())
		return false
	}
	defer stmt.Close()

	_, err = stmt.Exec(username, token)
	if err != nil {
		fmt.Println(err.Error())
		return false
	}
	return true
}
